package com.example.randomnamemodule;

import android.content.Context;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 * 随机点名核心类
 */
public class RandomNameGenerator {
    private List<String> currentNameList; // 当前选中的名单
    final private Random random;

    public RandomNameGenerator() {
        this.currentNameList = new ArrayList<>();
        this.random = new Random();
    }

    /**
     * 从assets加载指定名单文件并设置为当前名单
     * @param context 上下文
     * @param fileName 名单文件名
     */
    public void loadNameListFromAssets(Context context, String fileName) {
        this.currentNameList = NameAssetUtils.readNamesFromAssets(context, fileName);
    }

    /**
     * 从当前名单中随机抽取1个名字
     * @return 随机名字
     */
    public String getRandomName() {
        if (currentNameList.isEmpty()) {
            return "名单为空或加载失败";
        }
        int randomIndex = random.nextInt(currentNameList.size());
        return currentNameList.get(randomIndex);
    }

    /**
     * 检查当前名单是否为空
     * @return 是否为空
     */
    public boolean isListEmpty() {
        return currentNameList.isEmpty();
    }
}
